#ifndef CORE_FUNCTIONS_H
#define CORE_FUNCTIONS_H

#include <php.h>

ZEND_BEGIN_ARG_INFO(arginfo_wpiPinMode, 0)
    ZEND_ARG_INFO(0, pin)
    ZEND_ARG_INFO(0, mode)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO(arginfo_wpiPullUpDnControl, 0)
    ZEND_ARG_INFO(0, pin)
    ZEND_ARG_INFO(0, pud)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO(arginfo_wpiDigitalWrite, 0)
    ZEND_ARG_INFO(0, pin)
    ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO(arginfo_wpiPwmWrite, 0)
    ZEND_ARG_INFO(0, pin)
    ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO(arginfo_wpiDigitalRead, 0)
    ZEND_ARG_INFO(0, pin)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO(arginfo_wpiAnalogRead, 0)
    ZEND_ARG_INFO(0, pin)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO(arginfo_wpiAnalogWrite, 0)
    ZEND_ARG_INFO(0, pin)
    ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()



//core functions
PHP_FUNCTION(wpiPinMode);

PHP_FUNCTION(wpiPullUpDnControl);

PHP_FUNCTION(wpiDigitalWrite);

PHP_FUNCTION(wpiPwmWrite);

PHP_FUNCTION(wpiDigitalRead);

PHP_FUNCTION(wpiAnalogRead);

PHP_FUNCTION(wpiAnalogWrite);

//end core functions

#endif